<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        var name = 'The Window'
        var object = {
            name: 'My Object',
            getNameFunc: function () {
                return function () {
                    return this.name
                }
            }
        }
        console.log(object.getNameFunc()());
        // 类似于
        f = object.getNameFunc()
        f = function() {
        return this.name
        }
        f()//The Window

        // var name = 'The Window'
        // var object = {
        //     name: 'My Object',
        //     getNameFunc: function () {
        //         var that = this
        //         return function () {
        //             return that.name
        //         }
        //     }
        // }
        // console.log(object.getNameFunc()());
        // 类似于：
        // var f = object.getNameFunc()
        // var f = function() {
        //     return that.name
        // }
        // f()//My Object

// 闭包总结
// 闭包是一个函数=闭包函数 一个作用域可以访问另外一个函数内的局部变量
// 闭包的作用是什么？
// 延伸变量的作用范围


    </script>
</body>

</html>